home *** CD-ROM | disk | FTP | other *** search
/ Singles Flirt Up Your Life! (German) / Singles Flirt Up Your Life.iso / data1.cab / Statemachine / questFriendship3.lua < prev    next >
Text File  |  2004-01-29  |  4KB  |  119 lines

  1. beginStateMachine()
  2.  
  3.     -- called when questor builds up all known questScripts
  4.     onEnter(function(msg)
  5.         print("questFriendship3 entered");
  6.         setState("initial");
  7.     end )
  8.     
  9.     -- on game over: relationship conditions get reset to 0 and all quests are reset to initial
  10.     onMsg("questreset", function(msg)
  11.         setState("initial");
  12.     end ) 
  13. ---------------------------------------------------------------------------------------------------------------------------------------    
  14.     onMsg("checkCondition", function(msg)
  15.         --print("********************** "..getState());
  16.         --setState("initial");
  17.     end )
  18.     
  19.     state("initial") 
  20.         onMsg("checkCondition", function(msg)
  21.             local mike = getParent().getParent().getCharacter(MIKE);
  22.             local elaine = getParent().getParent().getCharacter(ELAINE);
  23.             
  24.             if ( -- condition here
  25.                 min(    mike.getRelationshipCondition(ELAINE, REL_FRIENDSHIP),
  26.                     elaine.getRelationshipCondition(MIKE, REL_FRIENDSHIP)) >= 3 ) then
  27.                 
  28.                 --print("********** ok scharfgestellt");
  29.                 setState("scharf");
  30.             end
  31.         
  32.         end )
  33.         
  34.     state("scharf")
  35.         onMsg("checkCondition", function(msg)
  36.             local mike = getParent().getParent().getCharacter(MIKE);
  37.             local mikeIsSleeping = mike.getSleeping();
  38.             
  39.             if ( not mikeIsSleeping and mikeHasBeenSleeping ) then
  40.                 --print("********** mike hat gepennt");
  41.                 setState("gutenMorgenMike");
  42.             else
  43.                 mikeHasBeenSleeping = mikeIsSleeping;
  44.             end
  45.             
  46.             local elaine = getParent().getParent().getCharacter(ELAINE);
  47.             local elaineIsSleeping = elaine.getSleeping();
  48.             if (  not elaineIsSleeping and elaineHasBeenSleeping ) then
  49.                 --print("********** elaine hat gepennt");
  50.                 setState("gutenMorgenElaine");
  51.             else
  52.                 elaineHasBeenSleeping = elaineIsSleeping;
  53.             end
  54.         end )
  55.         
  56.     state("gutenMorgenMike")
  57.         onMsg("checkCondition", function(msg)
  58.             local mike = getParent().getParent().getCharacter(MIKE);
  59.             local elaine = getParent().getParent().getCharacter(ELAINE);
  60.             if (mike.getRoomNumber() == elaine.getRoomNumber()) then
  61.                 mike.queueCommand("pm_talkCutscene", "talkCutscene", elaine , "questFriendship3");
  62.                 setState("gutGeschlafenMike");
  63.             end
  64.         end )
  65.     
  66.     state("gutGeschlafenMike")
  67.         onMsg("talking", function(msg)
  68.             if ( msg.data == "questFriendship3" ) then
  69.                 --print("ASLDJKASDALSKJDKASJD");
  70.                 popupConversation("dialogFriendship3Mike");
  71.                 setState("doneGutGeschlafenMike");
  72.             end
  73.         end )
  74.         
  75.     state("doneGutGeschlafenMike")    
  76.         onMsg("yes", function( msg )        
  77.             getParent().getParent().getCharacter(MIKE).cancelCurrentActivity();
  78.             getParent().getParent().getCharacter(ELAINE).cancelCurrentActivity();
  79.             setState("done");
  80.         end )
  81.         
  82.         
  83.         
  84.     state("gutenMorgenElaine")
  85.         onMsg("checkCondition", function(msg)
  86.             local mike = getParent().getParent().getCharacter(MIKE);
  87.             local elaine = getParent().getParent().getCharacter(ELAINE);
  88.             if (mike.getRoomNumber() == elaine.getRoomNumber()) then
  89.                 elaine.queueCommand("pm_talkCutscene", "talkCutscene", mike, "questFriendship3");
  90.                 setState("gutGeschlafenElaine");
  91.             end
  92.         end )
  93.         
  94.     state("gutGeschlafenElaine")
  95.         onMsg("talking", function(msg)
  96.             if (msg.data == "questFriendship3") then
  97.                 popupConversation("dialogFriendship3Elaine");
  98.                 setState("doneGutGeschlafenElaine");
  99.             end
  100.         end )
  101.  
  102.     state("doneGutGeschlafenElaine")    
  103.         onMsg("yes", function( msg )
  104.             getParent().getParent().getCharacter(MIKE).cancelCurrentActivity();
  105.             getParent().getParent().getCharacter(ELAINE).cancelCurrentActivity();        
  106.             setState("done");
  107.         end )
  108.  
  109. ---------------------------------------------------------------------------------------------------------------------------------------    
  110.  
  111.         
  112.     state("done")
  113.     
  114.     -- sackgasse hier
  115.         
  116.         
  117.         
  118. endStateMachine()
  119.